import { Connector } from "cax-connector";

import { add_entity } from "./add_entity";
import { analysis_hole } from "./analysis_hole";
import { assign_card } from "./assign_card";
import { assign_outputblock } from "./assign_outputblock";
import { assign_property } from "./assign_property";
import { counter_bore } from "./counter_bore";
import { create_bcs } from "./create_bcs";
import { create_card } from "./create_card";
import { create_cell } from "./create_cell";
import { re_number } from "./re_number";

import { create_displacement } from "./create_displacement";
import { create_force } from "./create_force";
import { create_load_constraints } from "./create_load_constraints";
import { create_material } from "./create_material";
import { create_outputblock } from "./create_outputblock";
import { create_property } from "./create_property";
import { create_set } from "./create_set";
import { delete_card } from "./delete_card";
import { delete_entity } from "./delete_entity";
import { delete_mesh } from "./delete_mesh";
import { delete_outputblock } from "./delete_outputblock";
import { delete_property } from "./delete_property";
import { delete_set } from "./delete_set";
import { face_fillet } from "./face_fillet";
import { file_load } from "./file_load";
import { file_save } from "./file_save";
import { model_save } from "./model_save";
import { get_all_cards, get_elements } from "./get_all_cards";
import { get_all_load_constraints } from "./get_all_load_constraints";
import { get_all_materials } from "./get_all_materials";
import { get_all_outputblocks } from "./get_all_outputblocks";
import { get_all_properties } from "./get_all_properties";
import { get_card_by_id } from "./get_card_by_id";
import { get_displacement_info } from "./get_displacement_info";
import { get_force_info } from "./get_force_info";
import { get_material_by_id } from "./get_material_by_id";
import { get_outputblock_by_id } from "./get_outputblock_by_id";
import { get_property_by_id } from "./get_property_by_id";
import { load_constraint_socket } from "./load_constraint_socket";
import { mask } from "./mask";
import { measure_point_to_point } from "./measure_point_to_point";
import { mesh_create } from "./mesh_create";
import { mesh_remesh } from "./mesh_remesh";
import { fill_hole } from "./fill_hole";
import { join_mesher } from "./join_mesher";
import { check_free_edge } from "./check_free_edge";
import { mid_surface } from "./mid_surface";
import {
  edge_partition,
  edge_mesh_bias,
  edge_get_ratio,
  edge_mesh_leave,
} from "./edge_partition";
import { mid_surface_thickness } from "./mid_surface_thickness";

import { model_info } from "./model_info";
import { modify_card } from "./modify_card";
import { modify_displacement } from "./modify_displacement";
import { modify_force } from "./modify_force";
import { modify_material } from "./modify_material";
import { modify_property } from "./modify_property";
import { modify_set } from "./modify_set";
import { project_save } from "./project_save";
import { project_load } from "./project_load";
import { reverse } from "./reverse";
import { reverseAll } from "./reverseAll";
import { unmaskAll } from "./unmaskAll";
import { create_tetmesh } from "./create_tetmesh";
import { mesh_split } from "./mesh_split";
import { merge_mesh } from "./merge_mesh";
import { mesh_detach } from "./mesh_detach";
import { modify_coordinate } from "./modify_coordinate";
import { create_coordinate } from "./create_coordinate";
import { modify_coordinatename } from "./modify_coordinatename";
import { get_all_sets } from "./get_all_sets";
import { create_temperature_set } from "./create_temperature_set";
import { delete_temperature_set } from "./delete_temperature_set";
import { delete_coordinate } from "./delete_coordinate";
import { modify_temperature } from "./modify_temperature";
import { set_temperature } from "./set_temperature";
import { create_nodeCoordinate } from "./create_nodeCoordinate";
import { delete_nodeCoordinate } from "./delete_nodeCoordinate";
import { modify_nodeCoordinate } from "./modify_nodeCoordinate";
import {
  washer_create,
  washer_clear,
  washer_set_hole,
  washer_find_pin_hole,
  washer_enter,
  washer_leave,
  washer_select,
} from "./washer";
import { create_materialOrientation } from "./create_materialOrientation";
import { delete_materialOrientation } from "./delete_materialOrientation";
import { modify_materialOrientation } from "./modify_materialOrientation";
import { set_nodeCoordinate } from "./set_nodeCoordinate";
import {
  meshextrude2d_clear,
  meshextrude2d_leave,
  meshextrude2d_update_method,
  meshextrude2d_preview,
  meshextrude2d_create,
  meshextrude2d_add_entity,
} from "./meshextrude2d";
import { batch_rename_materials } from "./batch_rename_materials";
import { batch_rename_properties } from "./batch_rename_properties";
import {
  meshextrude3d_clear,
  meshextrude3d_leave,
  meshextrude3d_update_method,
  meshextrude3d_create,
  meshextrude3d_add_entity,
} from "./meshextrude3d";
import { find_load_by_elem } from "./find_load_by_elem";
import {
  pastenode_clear,
  pastenode_leave,
  pastenode_enter,
  pastenode_add_nodes,
  pastenode_apply,
} from "./pastenode";
import { check_deplicate_elem } from "./check_deplicate_elem";
import { delete_deplicate_elem } from "./delete_deplicate_elem";
import { trim } from "./trim";
import { delete_item } from "./delete_item";
import { delete_material } from "./delete_material";
import { delete_force_set } from "./delete_force_set";
import { add_set } from "./add_set";
import { mesh_organized } from "./mesh_organized";
import { cfd_mesh_create } from "./cfd_mesh_create";
import { wrapper_mesh_create } from "./wrapper_mesh_create";
import { mesh_offset } from "./mesh_offset";
import { mesh_sweep_3d } from "./mesh_sweep_3d";
import { create_rod_unit } from "./create_rod_unit";
import { create_beam_byNode } from "./create_beam_byNode";
import { create_beam_byLine } from "./create_beam_byLine";
import { normal_get } from "./normal_get";
import { undo_beam } from "./undo_beam";
import { create_field } from "./create_field";
import { delete_field } from "./delete_field";
import { modify_field } from "./modify_field";
import { transform_update, transform_leave } from "./transform";
import { upload_field_file } from "./upload_field_file";
import { add_field_nodes } from "./add_field_nodes";
import { normal_reverse } from "./normal_reverse";
import { normal_align } from "./normal_align";
import { mesh_quality } from "./mesh_quality";
import { freebody_leave, freebody_enter, freebody_read_file, freebody_sets, freebody_update_entities, freebody_find_nodes, freebody_apply, freebody_table_data } from "./freebody";
import { script_run } from "./script_run";

export function registerAll(ctx: Connector) {
  ctx.register("add_entity", add_entity);
  ctx.register("analysis_hole", analysis_hole);
  ctx.register("assign_card", assign_card);
  ctx.register("assign_outputblock", assign_outputblock);
  ctx.register("assign_property", assign_property);
  ctx.register("counter_bore", counter_bore);
  ctx.register("create_bcs", create_bcs);
  ctx.register("create_card", create_card);
  ctx.register("create_cell", create_cell);
  ctx.register("re_number", re_number);
  ctx.register("create_displacement", create_displacement);
  ctx.register("create_force", create_force);
  ctx.register("create_load_constraints", create_load_constraints);
  ctx.register("create_material", create_material);
  ctx.register("create_outputblock", create_outputblock);
  ctx.register("create_property", create_property);
  ctx.register("create_set", create_set);
  ctx.register("delete_card", delete_card);
  ctx.register("delete_mesh", delete_mesh);
  ctx.register("delete_outputblock", delete_outputblock);
  ctx.register("delete_property", delete_property);
  ctx.register("delete_set", delete_set);
  ctx.register("face_fillet", face_fillet);
  ctx.register("get_all_cards", get_all_cards);
  ctx.register("get_elements", get_elements);
  ctx.register("get_all_load_constraints", get_all_load_constraints);
  ctx.register("get_all_materials", get_all_materials);
  ctx.register("get_all_outputblocks", get_all_outputblocks);
  ctx.register("get_all_properties", get_all_properties);
  ctx.register("get_all_sets", get_all_sets);
  ctx.register("get_card_by_id", get_card_by_id);
  ctx.register("get_displacement_info", get_displacement_info);
  ctx.register("get_force_info", get_force_info);
  ctx.register("get_material_by_id", get_material_by_id);
  ctx.register("get_outputblock_by_id", get_outputblock_by_id);
  ctx.register("get_property_by_id", get_property_by_id);
  ctx.register("load_constraint_socket", load_constraint_socket);
  ctx.register("mask", mask);
  ctx.register("mesh_remesh", mesh_remesh);
  ctx.register("mesh_offset", mesh_offset);
  ctx.register("cmf_mesh_create", cfd_mesh_create);
  ctx.register("wrapper_mesh_create", wrapper_mesh_create);

  ctx.register("check_free_edge", check_free_edge);
  ctx.register("merge_mesh", merge_mesh);
  ctx.register("mid_surface", mid_surface);
  ctx.register("mid_surface_thickness", mid_surface_thickness);
  ctx.register("mesh_organized", mesh_organized);

  ctx.register("edge_partition", edge_partition);
  ctx.register("edge_mesh_bias", edge_mesh_bias);
  ctx.register("edge_get_ratio", edge_get_ratio);
  ctx.register("edge_mesh_leave", edge_mesh_leave);
  ctx.register("modify_card", modify_card);
  ctx.register("modify_displacement", modify_displacement);
  ctx.register("modify_force", modify_force);
  ctx.register("modify_material", modify_material);
  ctx.register("modify_property", modify_property);
  ctx.register("modify_set", modify_set);
  ctx.register("reverse", reverse);
  ctx.register("reverseAll", reverseAll);
  ctx.register("unmaskAll", unmaskAll);
  ctx.register("delete_entity", delete_entity);
  ctx.register("file_load", file_load);
  ctx.register("file_save", file_save);
  ctx.register("model_save", model_save);
  ctx.register("mesh_create", mesh_create);
  ctx.register("fill_hole", fill_hole);
  ctx.register("join_mesher", join_mesher);
  ctx.register("mesh_detach", mesh_detach);
  ctx.register("measure_point_to_point", measure_point_to_point);
  ctx.register("model_info", model_info);
  ctx.register("project_save", project_save);
  ctx.register("project_load", project_load);
  ctx.register("create_tetmesh", create_tetmesh);
  ctx.register("mesh_split", mesh_split);
  ctx.register("modify_coordinate", modify_coordinate);
  ctx.register("create_coordinate", create_coordinate);
  ctx.register("modify_coordinatename", modify_coordinatename);
  ctx.register("delete_coordinate", delete_coordinate);
  ctx.register("create_temperature_set", create_temperature_set);
  ctx.register("delete_temperature_set", delete_temperature_set);
  ctx.register("modify_temperature", modify_temperature);
  ctx.register("washer_create", washer_create);
  ctx.register("washer_select", washer_select);
  ctx.register("washer_clear", washer_clear);
  ctx.register("washer_hole", washer_set_hole);
  ctx.register("washer_find", washer_find_pin_hole);
  ctx.register("set_temperature", set_temperature);
  ctx.register("create_nodeCoordinate", create_nodeCoordinate);
  ctx.register("delete_nodeCoordinate", delete_nodeCoordinate);
  ctx.register("modify_nodeCoordinate", modify_nodeCoordinate);
  ctx.register("washer_enter", washer_enter);
  ctx.register("washer_leave", washer_leave);
  ctx.register("create_materialOrientation", create_materialOrientation);
  ctx.register("delete_materialOrientation", delete_materialOrientation);
  ctx.register("modify_materialOrientation", modify_materialOrientation);
  ctx.register("set_nodeCoordinate", set_nodeCoordinate);
  ctx.register("meshextrude2d_clear", meshextrude2d_clear);
  ctx.register("meshextrude2d_leave", meshextrude2d_leave);
  ctx.register("meshextrude2d_update_method", meshextrude2d_update_method);
  ctx.register("meshextrude2d_preview", meshextrude2d_preview);
  ctx.register("meshextrude2d_create", meshextrude2d_create);
  ctx.register("meshextrude2d_add_entity", meshextrude2d_add_entity);
  ctx.register("batch_rename_materials", batch_rename_materials);
  ctx.register("batch_rename_properties", batch_rename_properties);
  ctx.register("meshextrude3d_leave", meshextrude3d_leave);
  ctx.register("meshextrude3d_clear", meshextrude3d_clear);
  ctx.register("meshextrude3d_update_method", meshextrude3d_update_method);
  ctx.register("meshextrude3d_add_entity", meshextrude3d_add_entity);
  ctx.register("meshextrude3d_create", meshextrude3d_create);
  ctx.register("find_load_by_elem", find_load_by_elem);
  ctx.register("pastenode_clear", pastenode_clear);
  ctx.register("pastenode_enter", pastenode_enter);
  ctx.register("pastenode_leave", pastenode_leave);
  ctx.register("pastenode_add_nodes", pastenode_add_nodes);
  ctx.register("pastenode_apply", pastenode_apply);
  ctx.register("check_deplicate_elem", check_deplicate_elem);
  ctx.register("delete_deplicate_elem", delete_deplicate_elem);
  ctx.register("trim", trim);
  ctx.register("delete_item", delete_item);
  ctx.register("delete_material", delete_material);
  ctx.register("delete_force_set", delete_force_set);
  ctx.register("normal_get", normal_get);
  ctx.register("mesh_sweep_3d", mesh_sweep_3d);
  ctx.register("add_set", add_set);
  ctx.register("create_rod_unit", create_rod_unit);
  ctx.register("create_beam_byNode", create_beam_byNode);
  ctx.register("create_beam_byLine", create_beam_byLine);
  ctx.register("undo_beam", undo_beam);
  ctx.register("create_field", create_field);
  ctx.register("delete_field", delete_field);
  ctx.register("modify_field", modify_field);
  ctx.register("transform_update", transform_update);
  ctx.register("transform_leave", transform_leave);
  ctx.register("upload_field_file", upload_field_file);
  ctx.register("add_field_nodes", add_field_nodes);
  ctx.register("normal_reverse", normal_reverse);
  ctx.register("normal_align", normal_align);
  ctx.register("mesh_quality", mesh_quality);
  ctx.register("freebody_leave", freebody_leave);
  ctx.register("freebody_enter", freebody_enter);
  ctx.register("freebody_read_file", freebody_read_file);
  ctx.register("freebody_sets", freebody_sets);
  ctx.register("freebody_update_entities", freebody_update_entities);
  ctx.register("freebody_find_nodes", freebody_find_nodes);
  ctx.register("freebody_apply", freebody_apply);
  ctx.register("freebody_table_data", freebody_table_data);
  ctx.register("script_run", script_run);
}
